﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Coldairarrow.Util
{
    public class CustomParams
    {
    }
    public class RootPushEntityDTO
    {
        /// <summary>
        /// 
        /// </summary>
        public string Ids { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> Numbers { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string EntryIds { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string RuleId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string TargetBillTypeId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int TargetOrgId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string TargetFormId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string IsEnableDefaultRule { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string IsDraftWhenSaveFail { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public CustomParams CustomParams { get; set; }
    }
    public class SubmitModelDTO
    {
        /// <summary>
        /// 
        /// </summary>
        public int CreateOrgId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> Numbers { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Ids { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int SelectedPostId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string NetworkCtrl { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string IgnoreInterationFlag { get; set; }
    }
    public class AuditModelDTO
    {
        /// <summary>
        /// 
        /// </summary>
        public int CreateOrgId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> Numbers { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Ids { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string InterationFlags { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string NetworkCtrl { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string IsVerifyProcInst { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string IgnoreInterationFlag { get; set; }
    }
    public class RootParametersEntityDTO
    {
        /// <summary>
        /// 
        /// </summary>
        public List<string> NeedUpDateFields { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> NeedReturnFields { get; set; }
        /// <summary>
        /// 非必须，在修改单据时是否需要删除已经存在的分录
        /// </summary>
        public string IsDeleteEntry { get; set; }
        /// <summary>
        /// 表单所在的子系统内码，字符串类型（非必录）
        /// </summary>
        public string SubSystemId { get; set; }
        /// <summary>
        /// 非必须，是否需要验证基础资料
        /// </summary>
        public string IsVerifyBaseDataField { get; set; }
        /// <summary>
        /// 非必须，是否需要批量填充分录
        /// </summary>
        public string IsEntryBatchFill { get; set; }
        /// <summary>
        /// 是否验证标志，布尔类型，默认true（非必录）
        /// </summary>
        public string ValidateFlag { get; set; }
        /// <summary>
        /// 是否用编码搜索基础资料，布尔类型，默认true（非必录）
        /// </summary>
        public string NumberSearch { get; set; }
        /// <summary>
        /// 是否自动调整JSON字段顺序，布尔类型，默认false（非必录）
        /// </summary>
        public string IsAutoAdjustField { get; set; }
        /// <summary>
        /// 交互标志集合，字符串类型，分号分隔，格式："flag1;flag2;..."（非必录） 例如（允许负库存标识：STK_InvCheckResult）
        /// </summary>
        public string InterationFlags { get; set; }
        /// <summary>
        /// 是否允许忽略交互，布尔类型，默认true（非必录）
        /// </summary>
        public string IgnoreInterationFlag { get; set; }
        /// <summary>
        /// 服务端开启的线程数，整型（非必录） 注（数据包数应大于此值，否则无效）
        /// </summary>
        public int BatchCount { get; set; }
        /// <summary>
        /// 表单数据包，JSON类型（必录）
        /// </summary>
        public object Model { get; set; }
    }

}
